1. Field of the Invention
The present invention relates generally to a compact bar code scanning arrangement, and more particularly pertains to a compact bar code scanning arrangement which is simple, capable of producing several different types of scanning patterns, and does not utilize a relatively bulky motor-driven construction. In a preferred embodiment, the compact bar code scanner is used in a small housing mounted on an index finger of an operator such that the natural pointing direction of the index finger aims the scanner.
In general, it would be desirable to provide a compact bar code scanner which eliminates the need for bulky motor-driven constructions and is capable of achieving a high speed 250-300 Hz scan motion.
The present invention provides a compact bar code scanner which is capable of scanning in any one of several modes, a linear scan mode which scans along a single axis, an omnidirectional scan mode which scans with consecutive scan lines which are angularly displaced relative to each other, such as a Lissajous scan pattern, or a raster scan mode which scans with consecutive scan lines along a first scan axis, and the consecutive scan lines are displaced relative to each other along a second perpendicular axis. With a Lissajous scan pattern, scans are performed according to the combination of two x and y sinusoidal drive signals. In the special case wherein the frequency of the x drive signal f.sub.x =f.sub.y, the frequency of the y drive signal, the Lissajous scan is a circular scan pattern, and when f.sub.x .noteq.f.sub.y, many different complex scan patterns can be generated depending upon the relationship of f.sub.x to f.sub.y.
2. Discussion of the Prior Art
Various optical readers and optical scanning systems have been developed heretofore for reading bar code symbols appearing on a label or on the surface of an article. The bar code symbol itself is a coded pattern of indicia comprised of a series of bars of various widths spaced apart from one another to bound spaces of various widths, with the bars and spaces having different light-reflecting characteristics.
The scanning of bar code patterns has become more complex as bar code patterns have become both more complex and more compact. A typical bar code pattern includes lines and spaces of different widths extending in an x direction, and can be scanned by one or more linear scans in the x direction. Moreover, because the direction of the scan is not always precisely aligned with the direction of the bar code pattern, more complex omnidirectional scanning patterns are sometimes used, wherein consecutive scan lines are angularly displaced relative to one another to form a complex omnidirectional scanning pattern. Two dimensional (2D) bar code patterns (Code 49) have also been introduced wherein, in addition to a typical bar code pattern having lines and spaces of varying widths along an x direction, typical bar code patterns are stacked one upon the other in the y direction to form the 2D bar code pattern. Accordingly, scanning of a 2D bar code pattern is more complex, and requires a raster type of scan wherein consecutive x direction scans are displaced in the y direction by the spacing between stacked rows of the 2D bar code pattern to form a raster scan.
The readers and scanning systems electrooptically transform the graphic indicia into electrical signals, which are decoded into alphanumerical characters that are intended to be descriptive of the article or some characteristic thereof. Such characters are typically represented in digital form and utilized as an input to a data processing system for applications in point-of-sale processing, inventory control, and the like. Scanning systems of this general type have been disclosed, for example, in U.S. Pat. Nos. 4,251,798; 4,369,361; 4,387,297; 4,409,470; 4,760,248; and 4,896,026, all of which have been commonly assigned to the same assignee as the present application.
As disclosed in some of the above patents, one embodiment of such a scanning system resides, inter alia, in a portable laser scanner which is grasped and hand-held by a user, which is designed to allow the user to aim the scanner, and more particularly a light beam emanating therefrom, at a target bar code symbol to be read.
In prior art bar code scanners, the light source in a laser scanner is typically a gas laser or semiconductor laser. The use of a semiconductor device such as a laser diode as the light source in scanning systems is especially desirable because of their small size, low cost and low power requirements. The laser beam is optically modified, typically by a lens, to form a beam spot of a certain size at the target distance. It is preferred that the beam spot size at the target distance be approximately the same as the minimum width between regions of different light reflectivity, i.e., the bars and spaces of the symbol.
Bar code symbols are formed from bars or elements that are typically rectangular in shape with a variety of possible widths. The specific arrangement of elements defines the character represented according to a set of rules and definitions specified by the code or "symbology" used. The relative size of the bars and spaces is determined by the type of coding used, as is the actual size of the bars and spacers. The number of characters per inch represented by the bar code symbol is referred to as the density of the symbol. To encode a desired sequence of characters, a collection of element arrangements are concatenated together to form the complete bar code symbol, with each character of the message being represented by its own corresponding group of elements. In some symbologies a unique "start" and "stop" character is used to indicate where the bar code begins and ends. A number of different bar code symbologies exist. These symbologies include UPC/EAN, Code 39, Code 128, Codabar, and Interleaved 2 of 5.
For the purpose of this discussion, characters recognized and defined by a symbology shall be referred to as legitimate characters, while characters not recognized and defined by that symbology are referred to as illegitimate characters. Thus, an arrangement of elements not decodable by a given symbology corresponds to an illegitimate character(s) for that symbology.
In order to increase the amount of data that can be represented or stored on a given amount of surface area, several new bar code symbologies have recently been developed. One of these new code standards, Code 49, introduces a "two-dimensional" concept by stacking rows of characters vertically instead of extending the bars horizontally. That is, there are several rows of bar and space patterns, instead of only one row. The structure of Code 49 is described in U.S. Pat. No. 4,794,239, which is hereby incorporated by reference.
A one-dimensional single-line scan, as ordinarily provided by hand-held readers, has disadvantages in reading these two-dimensional bar codes; that is, the reader must be aimed at each row individually. Likewise, the multiple-scan-line readers produce a number of scan lines at an angle to one another so these are not suitable for recognizing a Code 49 type of two-dimensional symbols.
In the scanning systems known in the prior art, the light beam is directed by a lens or similar optical components along a light path toward a target that includes a bar code symbol on the surface. The scanning functions by repetitively scanning the light beam in a line or series of lines across the symbol. The scanning component may either sweep the beam spot across the symbol and trace a scan line across and past the symbol, or scan the field of view of the scanner, or both.
Scanning systems also include a sensor or photodetector which functions to detect light reflected from the symbol. The photodetector is therefore positioned in the scanner or in an optical path in which it has a field of view which extends across and slightly past the symbol. A portion of the reflected light which is reflected by the symbol is detected and converted into an electrical signal, and electronic circuitry or software decodes the electrical signal into a digital representation of the data represented by the symbol that has been scanned. For example, the analog electrical signal from the photodetector may typically be converted into a pulse width modulated digital signal, with the widths corresponding to the physical widths of the bars and spaces. Such a signal is then decoded according to the specific symbology into a binary representation of the data encoded in the symbol, and to the alphanumeric characters represented thereby.
The decoding process in known scanning systems usually works in the following manner. The decoder receives the pulse width modulated digital signal from the scanner, and an algorithm implemented in software attempts to decode the scan. If the start and stop characters and the characters between them in the scan are decoded successfully and completely, the decoding process terminates and an indicator of a successful read (such as a green light and/or an audible beep) is provided to the user. Otherwise, the decoder receives the next scan, performs another decode attempt on that scan, and so on, until a completely decoded scan is achieved or no more scans are available.
Such a signal is then decoded according to the specific symbology into a binary representation of the data encoded in the symbol, and to the alphanumeric characters so represented.
Laser scanners are not the only type of optical instrument capable of reading bar code symbols. Another type of bar code reader incorporates detectors based upon charge coupled device (CCD) technology. In such readers, the size of the detector is larger than or substantially the same as the symbol to be read. The entire symbol is flooded with light from the reader, and each CCD cell is sequentially read out to determine the presence of a bar or a space. Such readers are lightweight and easy to use, but require substantially direct contact or placement of the reader on the symbol to enable the symbol to properly read. Such physical contact of the reader with the symbol is a preferred mode of operation for some applications, or as a matter of personal preference by the user.